<?php
/**
 * --------------------------------------------------------------------
 * MCore精简框架
 * 作者：阿枫，QQ：52037872，Email：support@mdeve.com
 * --------------------------------------------------------------------
 *
 * SVN revision information:
 * @version $Revision: 1 $:
 * @author  $Author: zy $:
 * @date      $Date: 2017-03-10 21:12:21 +0800 (星期五, 10 三月 2017) $:
 */

require dirname(__FILE__) . '/base.php';

class __basic_lib{

    /**
     * Datastore object.
     * 数据库操作类
     *
     * @var _DbClass
     */
    public $db;

    /**
     * Datastore object.
     * 模板操作类
     *
     * @var _TemplateClass
     */
    public $template;

    /**
     * Datastore object.
     * 缓存操作类
     *
     * @var _CacheClass
     */
    public $cache;

    /**
     * Datastore object
     * 用户操作类
     * @var _UserClass
     */
    public $user;

    /**
     * Datastore object
     * 文件操作类
     * @var _FileClass
     */
    public $file;


    /**
     * Datastore object
     * 插件操作类
     * @var _ModuleClass
     */
    public $module;


    /**
     * Datastore object
     * 加密类
     * @var _EncryptClass
     */
    public $encrypt;


    /**
     * Datastore object
     * 配置类
     * @var _OptionsClass
     */
    public $options;
    // 系统插件总开关
    public $module_enable = true;
    // 登陆判断
    public $is_login = false;
    // 系统配置信息
    public $cfg = array();
    // 已安装插件列表
    public $module_installed = array();
    // 已登陆用户信息
    public $userinfo = array();
    // 用户模块添加的指定地方执行的代码
    public $module_scripts = array();
    // 后台权限
    public $public_permissions = array();
    // 后台不需要权限的内容
    public $public_permissions_skip= array();


    function __construct(){

    }

    function __call($name,$arguments) {
        $f = fimport("class/".strtolower($name));
        if(file_exists($f)){
            require_once $f;
            $a = "_". ucfirst($name)."Class";
            $b = implode(",", $arguments);
            $this->$name = new $a($b);
        }else{
            exit("Module {$name} not found!");
        }
    }

}